package com.kerrykidz.system.service;

import java.util.List;
import java.util.Map;

import com.kerrykidz.system.dao.model.KdeBatchEntity;
import com.kerrykidz.system.dao.model.KdeVoucherEntEntity;
import com.kerrykidz.system.dao.model.KdeVoucherRecEntity;
import com.rdp.framework.exception.RDPException;
 
public interface IK3Service {
	
	/**
	 * 验证是否存在k3对接数据   如果返回日期  需要对接  否则 暂无对接数据
	 * @return
	 * @throws RDPException
	 * @date: 2014年10月30日
	 */
	public String isK3Confirm() throws RDPException;
	public KdeBatchEntity findByIdOrDateKdeBatch(String batchId,String confiDate)throws RDPException;
	
	/**
	 * K3 确认对接
	 * @return
	 * @throws RDPException
	 * @date: 2014年10月29日
	 */
	public KdeBatchEntity addK3Docking(KdeBatchEntity kde) throws RDPException;
	public void updateKdeBatchEntity(KdeBatchEntity kde) throws RDPException;
	
	public void updateKdeVoucherRecEntity(KdeVoucherRecEntity recEntity)throws RDPException;
	/**
	 * 获取数据  k3 数据   对接到  金蝶系统
	 * @param recEntity
	 * @return
	 * @throws RDPException
	 * @date: 2014年11月27日
	 */
	public List<Map<String,Object>> findK3RecSynchronousData(KdeVoucherRecEntity recEntity)throws RDPException;
	public List<Map<String,Object>> findK3EntSynchronousData(KdeVoucherEntEntity kdeVoucherEntEntity)throws RDPException;
	public void updateBatchKdeVoucherEntEntity(KdeVoucherEntEntity kdeVoucherEntEntity)throws RDPException;
	
	
	
	
	
	/**
	 * 获取金蝶对接批次表，分页展示
	 * 
	 * @param kdeBatch
	 * @return
	 */
	public KdeBatchEntity getKdeBatchList(KdeBatchEntity kdeBatch) throws RDPException;
	public List<KdeBatchEntity> getKdeBatchListWhere(KdeBatchEntity kdeBatch) throws RDPException;
	
	/**
	 * K3查询单次票
	 * @param date
	 * @return
	 * @throws RDPException
	 */
	public List<Map<String, Object>> findSingleTicket( String date)throws RDPException;

	/**
	 * 查询会籍 - 新增的会员
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findAddMember(String date) throws RDPException;
	
	/**
	 * 会籍-会员费分摊
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findAvgMember(String date) throws RDPException;
	
	/**
	 * 会籍-会员退会
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findRetreatMember(String date) throws RDPException;

	
	/**
	 * 新增储值
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findRecharge(String date) throws RDPException;

	
	/**
	 * 储值消费
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findRechargeConsume(String date) throws RDPException;

	
	/**
	 * 储值消费退款
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findRechargeConsumeRefund(String date) throws RDPException;

	
	/**
	 * 余额退款
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findBalanceRefund(String date) throws RDPException;

	
	/**
	 * 过期余额
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findExpiredBalance(String date) throws RDPException;
	
	/**
	 * 新增预约
	 * findExpiredBalance
	 * @param date
	 * @return
	 * @date: 2014年10月21日
	 */
	public List<Map<String, Object>> findPartyPrepay(String date) throws RDPException;
	
	/**
	 * 修改预约
	 * @param date
	 * @return
	 * @throws RDPException
	 * @author ScreenJxp
	 * @date: 2014年10月31日
	 */
	public List<Map<String, Object>> findPartyUpdate(String date)throws RDPException;
	
	/**
	 * 取消预约
	 * @param date
	 * @return
	 * @throws RDPException
	 * @date: 2014年11月3日
	 * @author ScreenJxp
	 */
	public  List<Map<String,Object>> findCancelRes(String date)throws RDPException;
	
	
	
	/***
	 * 派对团体结算
	 * @param date
	 * @return
	 * @throws RDPException
	 * @date: 2014年11月3日
	 */
	public List<Map<String, Object>> findCompletedRes(String date)throws RDPException;
}
